BUUCTF-WEB 【b01lers2020】Welcome to Earth 1

考点

burp抓包

F2源代码分析

解题过程

打开

一个页面,只显示了几个单词。

image-20210824145927590

隔了几秒钟,跳转到 /ded/这个页面

image-20210824150035304

bp启动。

image-20210824150131438

经过分析,当event.keyCode == 27会跳转到 /chase/,那为什么不手动跳转?

image-20210824150711641

跳转 /leftt/

image-20210824150818225

image-20210824150912444

点击 continue

image-20210824151049546

打开

image-20210824151117169

/open/

image-20210824151200246

得到

image-20210824151250057

/fight/

image-20210824151331646

最后得到

image-20210824151435362

我以为这里肯定很深奥,但是我想半天也没想明白,这个 scrable 函数到底起什么作用,我看了别人wp,只不过是障眼法,flag只需要把 check_action里的 flag 组合出来就行。

getflag

py一下,上脚本

1
2
3
4
5
6
7
8
9
10
11
12
from itertools import permutations
import re

flag = ["{hey", "_boy", "aaaa", "s_im", "ck!}", "_baa", "aaaa", "pctf"]
# 对flag字典里的内容进行排列组合
item = permutations(flag)
# 遍历
for a in item:
k = ''.join(list(a))
# 匹配
if re.search('^pctf\{hey_boys[a-zA-z_]+ck!\}$', k):
print(k)

得到

image-20210824151824335

第三个就是。

总结

这道题没我想象中那么复杂,确实没有什么难度,唯一学到的知识点,就是知道了一个排列组合的库 from itertools import permutations,这道题排在第三页,越往后做起的人越少,也越来越难,有点摸不着头脑。